#include "klienttcp.hpp"
#include <iostream>


using namespace boost;

KlientTCP::KlientTCP(asio::io_service& io_service)
   : io_service_(io_service),
   socket_(io_service),
   resolver_(io_service),
   delimiter("<") {
   /*   asio::ip::tcp::resolver::iterator it = resolver_.resolve(
         asio::ip::tcp::resolver::query(adresSerwera.c_str(),
	 portSerwera.c_str()));*/

   /*socket_.connect(*it);   */
}

void KlientTCP::ustawZnakKoncaRamki(std::string znak) {
   delimiter = znak;
}


void KlientTCP::wyslij(std::string wiadomosc) {
   asio::write(socket_, asio::buffer(wiadomosc.c_str(), wiadomosc.size()));
}

std::string KlientTCP::odbierz() {      
   asio::streambuf b;
   asio::read_until(socket_, b, delimiter);
   std::istream is(&b);
   std::string ramka;
   std::getline(is, ramka);
   return ramka;
}

void KlientTCP::zamknij() {
   socket_.shutdown(asio::ip::tcp::socket::shutdown_both);
   socket_.close();
}

void KlientTCP::polacz(std::string adresSerwera, std::string portSerwera) {
   if(socket_.is_open()) {
      zamknij();
   }
   asio::ip::tcp::resolver::iterator it = resolver_.resolve(
         asio::ip::tcp::resolver::query(adresSerwera.c_str(),
                                        portSerwera.c_str()));

   socket_.connect(*it);

}
